ヘッダーをスキップ
Oracle TimesTen In-Memory Database Java開発者およびリファレンス・ガイド
リリース7.0
E05166-01
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

XLAアプリケーションの終了

XLAアプリケーションがトランザクション・ログからの読取りを終了した場合は、XLA接続をクローズして不要なブックマークを削除し、明示的にサブスクライブした表をサブスクライブ解除して、正常に終了する必要があります。

接続のクローズ

XLAへの接続をクローズするには、Connectionオブジェクトでcloseをコールします。

接続がクローズされた後、その接続、セッションまたはサブスクライバを使用しようとすると、 IllegalStateException がスローされます。その接続から受信したメッセージを継続して使用できますが、接続がクローズされた後、受信したメッセージのacknowledge メソッドをコールすることはできません。

ブックマークの削除

停止時にXLAブックマークを削除するかどうかは、任意に選択できます。ブックマークを削除すると、トランザクション・ログ内の未読の更新レコードに関連するディスク領域を解放できます。

ブックマークを削除しない場合は、永続サブスクライバで再利用できます。永続サブスクライバが再接続するときにブックマークが使用可能な場合、サブスクライバは、以前の接続が終了した後に発行されたすべての未確認の更新を受信します。ブックマークが存在しており、そのブックマークから読取りを行っているアプリケーションがない場合は、トランザクション・ログのサイズが継続して大きくなり、データベースによって消費されるディスク領域が増加します。

ブックマークを削除するには、JMS Sessionでunsubscribeをコールします。これにより、ttXlaDeleteBookmark組込みプロシージャが起動され、XLAブックマークが削除されます。

表からのサブスクライブ解除

表に対するXLAパブリッシングをオフにするには、ttXlaUnsubscribe組込みプロシージャを使用します。ttXlaSubscribeを使用して表に対するXLAパブリッシングを有効にする場合は、アプリケーションを停止するときにttXlaUnsubscribeを使用して表からのサブスクライブ解除を行う必要があります。

表からのサブスクライブ解除を行う場合は、次のように表を追跡するときに使用される表の名前とブックマークの名前を指定します。

ttXlaUnsubscribe(user.table, bookmark)

たとえば、JDBC CallableStatementインタフェースを介してttXlaSubscribeをコールするには、次のようにします。

Connection con;

CallableStatement cStmt;

...

cStmt = con.prepareCall("{call ttXlaUnSubscribe(user.table, bookmark)}");

cStmt.execute();

JavaアプリケーションでTimesTen組込みプロシージャを使用する場合の詳細は、「TimesTen組込みプロシージャのコール」を参照してください。組込みプロシージャの詳細は、『Oracle TimesTen In-Memory Database APIリファレンス・ガイド』を参照してください。